1. Technical Field
The present invention is directed to a system for programming a data structure for use with an environment control system. More particularly, the present invention is directed to a system and variable size data structure for storing and validating scheduling strategy information for use by a controller-independent scheduling algorithm for generating an environment control system schedule.
2. Discussion
Environment control systems and facility management systems are well known in the art and are employed in office buildings, manufacturing facilities, and other large commercial and retail structures for controlling the internal environment of the facility. For example, in a heating, ventilating, and air conditioning (HVAC) system, one or more air handling units provide conditioned air to a variety of controlled air units, such as variable air volume (VAV) units, unitary devices (UNT) and damper systems through a ductwork system. The ductwork system also provides the environmentally controlled air to the internal environment of the facility. The operation of the air handling units and controlled air units is managed by an automatic controller which is capable of executing a variety of functions.
A significant benefit of the controller is that it can be programmed for obtaining maximum efficiencies with respect to the energy costs associated with operating the environment control system or facility management system. For example, the controller may perform various functions according to a preprogrammed schedule which includes periods of time when the facility is occupied and unoccupied during each week. The schedule may also include holidays and other exceptions. The controller can then follow the schedule for automatically adjusting the temperature of various zones within the facility, turning off large banks of lights, or securing sections of the facility.
For convenience in programming the controller, an interface or programming tool must be utilized for defining the schedule of operation, and functions to be performed during each strategy within the schedule. The controllers presently known within the art typically utilize a proprietary interface or programming tool which is only compatible with that particular controller. As such, the programming tool contains all of the functions and scheduling parameters which can be executed by its associated controller. More specifically, the tool contains each executable function, a set of rules defining when and how the function can be executed, as well as parameters defining the complexity of the schedule which can be implemented by the particular controller. The programming tool also includes an algorithm for defining the control strategies within the schedule based upon interpreting and applying the rules associated with each function. As such, the operator is limited to using the particular tool for that controller to program the schedule within the controller. Moreover, a change made to the controller also requires a corresponding change to the programming tool.
As will be appreciated, the proprietary nature of these known designs presents several problems within the art. For example, a larger environment control system with several controllers, each having different levels of features or options requires more than one programming tool for defining the various control strategies and operating schedules. This in turn increases the cost of operating the environment control system. Moreover, the operator must become familiar with the operation of each programming tool. Such an environment control system might be found in a specialized manufacturing facility. Another problem is that when one of the controllers within the environment control system is upgraded or replaced with a newer model, a new programming tool which is compatible with the upgraded controller must also be purchased.
In view of these problems recognized within the prior art, it is desirable to provide a controller which is not dependant upon a proprietary programming tool for defining the control strategies within the schedule of operation. It is further desirable to provide several different models of controllers which offer various function groupings ranging from simple to robust which are all compatible with the same programming tool. For example, this would allow a specialized manufacturing facility to utilize a simple controller with limited functions in one area of the facility, and an enhanced controller with many functions for other areas of the facility, and program these different controllers with the same programming tool.
Additionally, it is desirable to provide a data structure for storing the executable functions or commands, along with a set of rules associated with each command, within the controller, as opposed to storing this information within the programming tool. This in turn allows only the universal rule application algorithm to be stored in and executed by the programming tool. Accordingly, this design would allow one programming tool to interpret and apply the rules and commands associated with many different controllers. Moreover, if the controller or commands associated therewith are upgraded or enhanced, the data structure would allow the existing programming tool to be used in creating the operating schedule for the new controller.